স্প্রিং ফ্রেমওয়ার্কে ORM (Object-Relational Mapping) একটি গুরুত্বপূর্ণ ফিচার। এটি ডেভেলপারদেরকে ডাটাবেস এবং অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং এর মধ্যে মসৃণ ইন্টিগ্রেশন নিশ্চিত করতে সাহায্য করে। ORM টুলের মাধ্যমে ডাটাবেস অপারেশনগুলো সহজতর এবং ম্যানেজ করা যায়।
Hibernate একটি জনপ্রিয় ORM টুল যা Java অবজেক্ট এবং ডাটাবেসের মধ্যে ম্যাপিং তৈরি করে। Hibernate এর সাথে Spring ব্যবহার করলে কার্যক্ষমতা এবং ব্যবস্থাপনার সুবিধা বৃদ্ধি পায়।
ডিপেন্ডেন্সি অ্যাড করা (Dependency Add করা): pom.xml
-এ Hibernate এবং Spring ORM লাইব্রেরির ডিপেন্ডেন্সি যুক্ত করতে হবে।
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>5.x.x</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.x.x</version>
</dependency>
SessionFactory কনফিগারেশন: Hibernate এর জন্য SessionFactory
কনফিগার করতে হবে। এটি Spring কনটেইনারের মাধ্যমে ম্যানেজ করা যায়।
@Configuration
public class HibernateConfig {
@Bean
public LocalSessionFactoryBean sessionFactory() {
LocalSessionFactoryBean factory = new LocalSessionFactoryBean();
factory.setDataSource(dataSource());
factory.setPackagesToScan("com.example.entity");
factory.setHibernateProperties(hibernateProperties());
return factory;
}
}
DAO লেয়ার তৈরি করা: Hibernate এর মাধ্যমে ডাটাবেস অপারেশন পরিচালনার জন্য DAO ক্লাস তৈরি করতে হবে।
@Repository
public class UserDao {
@Autowired
private SessionFactory sessionFactory;
public void saveUser(User user) {
Session session = sessionFactory.getCurrentSession();
session.save(user);
}
}
Java Persistence API (JPA) একটি স্ট্যান্ডার্ড ORM স্পেসিফিকেশন যা বিভিন্ন ORM ইমপ্লিমেন্টেশনের সাথে ব্যবহার করা যায়। Hibernate হলো JPA এর একটি জনপ্রিয় ইমপ্লিমেন্টেশন।
ডিপেন্ডেন্সি অ্যাড করা (Dependency Add করা): JPA এবং Spring Data JPA এর জন্য প্রয়োজনীয় ডিপেন্ডেন্সি যুক্ত করতে হবে।
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.x.x</version>
</dependency>
Entity ক্লাস তৈরি করা: JPA এর জন্য @Entity
অ্যানোটেশন ব্যবহার করে ডাটাবেস টেবিলের জন্য একটি Java ক্লাস তৈরি করতে হবে।
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
// Getters and Setters
}
Repository ইন্টারফেস ব্যবহার করা: JPA এর জন্য JpaRepository
ইন্টারফেস ব্যবহার করে ডাটাবেস অপারেশন করা যায়।
public interface UserRepository extends JpaRepository<User, Long> {
}
Service লেয়ার তৈরি করা: ডাটাবেস অপারেশনগুলোকে একটি সার্ভিস লেয়ারে সংগঠিত করা হয়।
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public void saveUser(User user) {
userRepository.save(user);
}
}
বৈশিষ্ট্য | Hibernate | JPA |
---|---|---|
প্রকার | ফ্রেমওয়ার্ক | স্পেসিফিকেশন |
স্ট্যান্ডার্ড সাপোর্ট | JPA ইমপ্লিমেন্টেশন | ORM এর স্ট্যান্ডার্ড |
নির্ভরতা | Hibernate API নির্ভর | কোন নির্দিষ্ট API নির্ভর নয় |
Spring ORM Hibernate এবং JPA এর মাধ্যমে একটি নমনীয় এবং শক্তিশালী ডাটাবেস ইন্টিগ্রেশন সলিউশন প্রদান করে। এটি ব্যবহারকারীদের ORM ইমপ্লিমেন্টেশনের স্বাধীনতা দেয় এবং Spring ফ্রেমওয়ার্কের অন্যান্য সুবিধার সাথে কাজ করতে সক্ষম করে।
Read more